Exercice 1 convertion Franc/Euro!
Une
instruction
pascal se termine TOUJOURS par un ";" cela signale au
compilateur que l'instruction est terminé
Un programme en pascal se commence toujours par la même ligne
que l'on appelle entête.
program NomDeVotreProgramme;
Il sagit maintenant de definir les differentes variables qui
seront utilisees dans le programme!
Definir une variable consiste en tout et pour tout a la nommer
et a definier son
type!
var NomDeLaVariable:TypeDeLaVariable;
Les instructions en pascal sont toujours encadrées par :
BEGIN
..........
..........
END.
Passons aux choses serieuses, comment afficher un message a
l'ecran.
L'instruction est tres simple:
writeln('Votre message ....');
ou
write('Votre message ....');
Writeln fait aller a la ligne le curseur d'affgichage
apres l'affichage et donc le prochain affichage se fera sur la
ligne du dessous.
Tandis que write laisse le curseur a la fin de
l'affichage et dons le prochain affichage se fera a la suite du
message!
Maintenant voyons l'instruction de saisi au clavier. elle
s'utilise ainsi:
read(VotreVariable);
Cela signifie que le nom de le variable mis entre parenthese se
vera affecter la valeur entrez aun clavier par l'utilisateur.
ATTENTION: READ n'est pas capable d'afficher un message a
l'acran il est donsc preferable de preceder un READ par un WRITE
qui precisera ce que le programme attend!
Une specification du pascal est sa facon de coder le signe
"=". Enfet il faut differancier le signe de comparaison et le
signe d'affectation.
Le signe d'affectation qui sera untiliser dans notre programme
se code ainsi:
Variable1:=Variable2;
Cela signifie que la valeur contenue dans le Variable2 est
recopié dans la Variable1.
Voici maintenant le programme en tant que tel!
program exercice1;
var Pfranc,Peuro:real;
begin
write('Entrez votre prix en Franc :');
readln(Pfranc);
Peuro:=Pfranc/6.55957;
writeln(Pfranc,'F en euro vaut: ',Peuro);
end.
Quelques remarques:
1-Le pascal est un langage d'origine anglosaxonne donc la
virgule decimale "," est remplacer par un point "."!
2-Lors de l'execution du programme on remarquera que le resultat
est afficher en notation scientifique (avec un chiffre devant la
virgule heuu le point :)). Pour corriger ce problemme il faut
"formater" l'affichage (on le verra a la prochaine lecon). Exercice 2 Remise dans un supermarché!
L'exercice consiste à calculer la remise de 5% que fait un
magasin si l'on hachete pour un montant superieur à 500F!
Voyons les notions que l'on vas utiliser dans cette
exercice. Les structures de test. Ce sont des instructions qui
permetent de tester si une condition est valide et de reagir en
consequence! En voici la syntaxe: if
condition
then begin InstructionSiConditionVrai1; InstructionSiConditionVrai2; etc.... end else begin InstructionSiConditionFaux1; InstructionSiConditionFaux2; etc... end;
Maintenant comme prevus voyons comment FORMATER un nombrer. Et
oui dans l'exercice precedent on a remarquer que par defaut le
pascal affichait les nombres en notation scientifique c'est a dire
avec un seule chiffre avant la virgule. La syntaxe du parametrage
est la suivante: writeln('La
variable=',i:X:Y); X:Nombre de carractere pour l'affichage
du chiffre, en sachant que le point decimale et le "-" des nombres
negatifs sont cosiderés comme des carractéres. Le fait est aussi que
le pascal ne tronque jamais les entiers. Ce qui signifie que le
chiffre qui est avant le point decimale sera TOUJOURS affiché en
entier. Y:Nombre de chiffre apres le point decimale. En
pratique on formate quasiement toujours ainsi: writeln('Bla bla bla..',i:1:NbDeDecimale);
Voila le programme en lui même:
program
Exercice2; const SeuilRemise=500; Remise=0.05; var Montant,MontantRemise:real; begin write('Entrez
le montant total de vos achat:'); readln(Montant); if
Montant>SeuilRemise
then begin MontantRemise:=(1-Remise)*Montant; writeln('Vous
beneficiez d'une remise de ',Remise*100:1:0,'%'); writeln('Vous
ne devez plus que:',MontantRemise:1:2,' au lieu de
:',Montant:1:2); end else writeln('Vous ne bénéficiez pas
de la remise!'); wrteiln('Merci au revoire!'); end.
Exercie 3 :Table de multiplication
Le but de cette exercice est d'afficher la table de
multiplication d'un entier entrez par l'utilisateur. Pour cela nous
allons utiliser les structure de boucle. Tout d'abord un boucle
signifie que l'on vas repeter un certain nombre de fois des
instructions sans avoir a les recopier. De ce fait apparait 2 types
de boucle, les boucle dont on connait le nombre de repetition et
celle dont on l'ignore. La premiere est appele boucle FOR et
le seconde boucle WHILE.
Voyons tout d'abord les boucles FOR! La syntaxe en pascal est
la suivante: FOR
Compteur:=ValeurInitiale to ValeurFinale
do begin Instruction1; Instruction2; .... end; Elle
peut se traduire par: POUR Compteur
ALLANT DE ValeurInitiale A ValeurFinale
FAIRE Instruction1; Instruction2; .... REBOUCLER A
savoir: (ValeurFinale-ValeurInitiale)+1 donne le nombre de boucle
effectué par le FOR. Le compteur prend succecivement les valeurs
de ValeurInitiale à ValeurFinale!
La boucle WHILE maintenant! Voici sa syntaxe: WHILE Condition
DO begin Instruction1; Instruction2; .... end; Ce
qui peut se traduire par: TANT QUE
ConditionEstVrai
FAIRE Instruction1; Instruction2; .... REBOUCLER
Interressons nous a notre exercice! Il vas contenir une boucle
FOR car il faut repeter 10 fois l'instruction d'affichage. Voici
le programme: program exercice
3; var NbTable,Compteur:integer; begin write('Entrez
l'entier dont vous voulez affichez la table de multiplication :');
readln(NbTable); for Compteur:=1 to 10 do
writeln(NBTable:1,'x',Compteur:1,'=',NBtable*Compteur:1) end.
|